파이썬 파일 내부에 설정에 필요한 정보를 관리하는 경우... 예를들어 데이터베이스 접근과 관련된 정보나 아니면 접근하는 url 정보들이 필요할 수 있습니다. 이 때 이런 정보를 어떻게 관리하는게 좋을까요? 파일 내부에 직접 적는 것도 좋지만 별도의 파일을 생성하여 따로 관리 후 import하면 관리 측면에서 더욱 효율적입니다.
아래는
python에서 ini 파일을 불러와 원하는 값만 매핑할 수 있는 방법에 대하여 알아보려고 합니다. 예제는 데이터베이스를 기준으로 작성하였습니다.
! 만약 mysql 접근 정보를 불러오는 경우
불러올 정보가 명확하군요! mysql.ini라는 파일을 생성 후 관련 정보를 불러오려고 합니다. 순서대로 나타내면...
- mysql.ini 파일을 생성
- ini 파일을 불러올 수 있는 모듈
configparser를 import
- 변수에 ini 파일을 파싱하여 읽기
- 변수의 값을 적용하기
위와 같은 단계로 이루어지게 됩니다. 그럼 순서대로 해보도록 할께요.
먼저 mysql.ini라는 파일을 만듭니다.
touch mysql.ini
내부에는 mysql 접근과 관련된 필요한 정보를 담고 있겠죠.
[MySQL]
host = '0.0.0.0'
db = 'myDatabase'
user = 'myUser'
ps = 'myPassword'
이제 pip를 사용하여 configparser를 파이썬앱에서 import 후 아래와 같이 적용하여 사용합니다.
@ app.py
import configparser
mysqlConfig = configparser.ConfigParser()
mysqlConfig.read('./mysql.ini')
app.config['MYSQL_DATABASE_HOST'] = mysqlConfig ['MySQL ']['host']
app.config['MYSQL_DATABASE_DB'] = mysqlConfig ['MySQL']['db']
app.config['MYSQL_DATABASE_USER'] = mysqlConfig ['MySQL']['user']
app.config['MYSQL_DATABASE_PASSWORD'] = mysqlConfig ['MySQL']['ps']
이제 모든 과정이 끝났습니다. 이제 mysql 관련 정보는 별도의 파일을 통해 관리할 수 있고 수정하는 경우도 편리합니다.